import { WidgetType } from './WidgetType'

export * from './RawField'

/** 控件定位方式 */
export enum LocateType {
  /** 中心点 */
  CENTER = 0,

  /** 左上角 */
  LEFT_TOP = 1
}

/** 单选按钮类型 */
export enum FillRadioType {
  /** 钩形 */
  HOOK = 1,

  /** 圆形 */
  RADIO = 2,

  /** 叉形 */
  FORK = 3,

  /** 菱形 */
  DIAMOND = 4,

  /** 正方形 */
  SQUARE = 5,

  /** 星形 */
  STAR = 6
}

/** 单选框 子项 */
export interface FillRadioGroupItem {
  /** 控件类型 */
  type: WidgetType.RADIO_GROUP

  /** 页码 */
  p: number

  /** 宽度 */
  w: 32

  /** 高度 */
  h: 32

  /** 水平位置 */
  x: number

  /** 纵向位置 */
  y: number

  /** 选项名称 */
  widgetName: string

  /** 选项是否勾选 */
  widgetValue: boolean

  /** 单选按钮类型 */
  radioType: FillRadioType

  /** 是否显示边框 */
  showBorder: boolean

  /** 是否必填 */
  isRequired: boolean
}

/** 复选框 子项 */
export interface FillCheckboxGroupItem extends Omit<FillRadioGroupItem, 'type' | 'radioType'> {
  /** 控件类型 */
  type: WidgetType.CHECKBOX_GROUP

  /** input 类型 */
  inputType: 'checkbox'
}
